home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
3DDEMO.ZIP
/
3D
/
SOURCE
/
INPUT.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1996-07-16
|
26KB
|
1,199 lines
#include "input.hpp"
#include <dos.h>
// Copyright (c) 1996 by Kerrigan Burgess, all rights reserved.
void (_interrupt _far *Old_Isr)(void);
void _interrupt _far New_Key_Int(void);
short raw_key; // scan codes for keyboard.
short key_table[128];
int keys_active=0;
void InitKeyBoard(void)
{
Old_Isr=_dos_getvect(KEYBOARD_INT); // save BIOS keyboard interrupt
_dos_setvect(KEYBOARD_INT,New_Key_Int); // install new int 9h handler
memset(key_table,0,128);
}
void RestoreKeyBoard(void)
{
_dos_setvect(KEYBOARD_INT,Old_Isr); // restore BIOS keyboard interrupt
}
#pragma aux GetKeyCodes=\
"sti"\
"in al,0x60"\
"xor ah,ah"\
"mov raw_key,ax"\
"in al,0x61"\
"or al,82h"\
"out 0x61,al"\
"and al,7fh"\
"out 0x61,al"\
"mov al,20h"\
"out 0x20,al"\
;
void _interrupt _far New_Key_Int(void)
{
GetKeyCodes();
switch(raw_key)
{
case MAKE_ESC:
key_table[SCAN_ESC]=1;
keys_active++;
break;
case MAKE_1:
key_table[SCAN_1]=1;
keys_active++;
break;
case MAKE_2:
key_table[SCAN_2]=1;
keys_active++;
break;
case MAKE_3:
key_table[SCAN_3]=1;
keys_active++;
break;
case MAKE_4:
key_table[SCAN_4]=1;
keys_active++;
break;
case MAKE_5:
key_table[SCAN_5]=1;
keys_active++;
break;
case MAKE_6:
key_table[SCAN_6]=1;
keys_active++;
break;
case MAKE_7:
key_table[SCAN_7]=1;
keys_active++;
break;
case MAKE_8:
key_table[SCAN_8]=1;
keys_active++;
break;
case MAKE_9:
key_table[SCAN_9]=1;
keys_active++;
break;
case MAKE_0:
key_table[SCAN_0]=1;
keys_active++;
break;
case MAKE_MINUS:
key_table[SCAN_MINUS]=1;
keys_active++;
break;
case MAKE_EQUAL:
key_table[SCAN_EQUAL]=1;
keys_active++;
break;
case MAKE_BKSP:
key_table[SCAN_BKSP]=1;
keys_active++;
break;
case MAKE_TAB:
key_table[SCAN_TAB]=1;
keys_active++;
break;
case MAKE_Q:
key_table[SCAN_Q]=1;
keys_active++;
break;
case MAKE_W:
key_table[SCAN_W]=1;
keys_active++;
break;
case MAKE_E:
key_table[SCAN_E]=1;
keys_active++;
break;
case MAKE_R:
key_table[SCAN_R]=1;
keys_active++;
break;
case MAKE_T:
key_table[SCAN_T]=1;
keys_active++;
break;
case MAKE_Y:
key_table[SCAN_Y]=1;
keys_active++;
break;
case MAKE_U:
key_table[SCAN_U]=1;
keys_active++;
break;
case MAKE_I:
key_table[SCAN_I]=1;
keys_active++;
break;
case MAKE_O:
key_table[SCAN_O]=1;
keys_active++;
break;
case MAKE_P:
key_table[SCAN_P]=1;
keys_active++;
break;
case MAKE_LSB:
key_table[SCAN_LSB]=1;
keys_active++;
break;
case MAKE_RSB:
key_table[SCAN_RSB]=1;
keys_active++;
break;
case MAKE_ENTER:
key_table[SCAN_ENTER]=1;
keys_active++;
break;
case MAKE_CTRL:
key_table[SCAN_CTRL]=1;
keys_active++;
break;
case MAKE_A:
key_table[SCAN_A]=1;
keys_active++;
break;
case MAKE_S:
key_table[SCAN_S]=1;
keys_active++;
break;
case MAKE_D:
key_table[SCAN_D]=1;
keys_active++;
break;
case MAKE_F:
key_table[SCAN_F]=1;
keys_active++;
break;
case MAKE_G:
key_table[SCAN_G]=1;
keys_active++;
break;
case MAKE_H:
key_table[SCAN_H]=1;
keys_active++;
break;
case MAKE_J:
key_table[SCAN_J]=1;
keys_active++;
break;
case MAKE_K:
key_table[SCAN_K]=1;
keys_active++;
break;
case MAKE_L:
key_table[SCAN_L]=1;
keys_active++;
break;
case MAKE_SEMICOLON:
key_table[SCAN_SEMICOLON]=1;
keys_active++;
break;
case MAKE_APOS:
key_table[SCAN_APOS]=1;
keys_active++;
break;
case MAKE_TILDE:
key_table[SCAN_TILDE]=1;
keys_active++;
break;
case MAKE_LEFTSHFT:
key_table[SCAN_LEFTSHFT]=1;
keys_active++;
break;
case MAKE_BACKSLASH:
key_table[SCAN_BACKSLASH]=1;
keys_active++;
break;
case MAKE_Z:
key_table[SCAN_Z]=1;
keys_active++;
break;
case MAKE_X:
key_table[SCAN_X]=1;
keys_active++;
break;
case MAKE_C:
key_table[SCAN_C]=1;
keys_active++;
break;
case MAKE_V:
key_table[SCAN_V]=1;
keys_active++;
break;
case MAKE_B:
key_table[SCAN_B]=1;
keys_active++;
break;
case MAKE_N:
key_table[SCAN_N]=1;
keys_active++;
break;
case MAKE_M:
key_table[SCAN_M]=1;
keys_active++;
break;
case MAKE_COMMA:
key_table[SCAN_COMMA]=1;
keys_active++;
break;
case MAKE_PERIOD:
key_table[SCAN_PERIOD]=1;
keys_active++;
break;
case MAKE_SLASH:
key_table[SCAN_SLASH]=1;
keys_active++;
break;
case MAKE_RIGHTSHFT:
key_table[SCAN_RIGHTSHFT]=1;
keys_active++;
break;
case MAKE_PRINTSCRN:
key_table[SCAN_PRINTSCRN]=1;
keys_active++;
break;
case MAKE_ALT:
key_table[SCAN_ALT]=1;
keys_active++;
break;
case MAKE_SPACE:
key_table[SCAN_SPACE]=1;
keys_active++;
break;
case MAKE_CAPLOCK:
key_table[SCAN_CAPLOCK]=1;
keys_active++;
break;
case MAKE_F1:
key_table[SCAN_F1]=1;
keys_active++;
break;
case MAKE_F2:
key_table[SCAN_F2]=1;
keys_active++;
break;
case MAKE_F3:
key_table[SCAN_F3]=1;
keys_active++;
break;
case MAKE_F4:
key_table[SCAN_F4]=1;
keys_active++;
break;
case MAKE_F5:
key_table[SCAN_F5]=1;
keys_active++;
break;
case MAKE_F6:
key_table[SCAN_F6]=1;
keys_active++;
break;
case MAKE_F7:
key_table[SCAN_F7]=1;
keys_active++;
break;
case MAKE_F8:
key_table[SCAN_F8]=1;
keys_active++;
break;
case MAKE_F9:
key_table[SCAN_F9]=1;
keys_active++;
break;
case MAKE_F10:
key_table[SCAN_F10]=1;
keys_active++;
break;
case MAKE_NUMLOCK:
key_table[SCAN_NUMLOCK]=1;
keys_active++;
break;
case MAKE_SCROLLOCK:
key_table[SCAN_SCROLLOCK]=1;
keys_active++;
break;
case MAKE_HOME:
key_table[SCAN_HOME]=1;
keys_active++;
break;
case MAKE_UP:
key_table[SCAN_UP]=1;
keys_active++;
break;
case MAKE_PGUP:
key_table[SCAN_PGUP]=1;
keys_active++;
break;
case MAKE_KEYPADMINUS:
key_table[SCAN_KEYPADMINUS]=1;
keys_active++;
break;
case MAKE_LEFT:
key_table[SCAN_LEFT]=1;
keys_active++;
break;
case MAKE_CENTER:
key_table[SCAN_CENTER]=1;
keys_active++;
break;
case MAKE_RIGHT:
key_table[SCAN_RIGHT]=1;
keys_active++;
break;
case MAKE_KEYPADPLUS:
key_table[SCAN_KEYPADPLUS]=1;
keys_active++;
break;
case MAKE_END:
key_table[SCAN_END]=1;
keys_active++;
break;
case MAKE_DOWN:
key_table[SCAN_DOWN]=1;
keys_active++;
break;
case MAKE_PGDOWN:
key_table[SCAN_PGDOWN]=1;
keys_active++;
break;
case MAKE_INSERT:
key_table[SCAN_INSERT]=1;
keys_active++;
break;
case MAKE_DELETE:
key_table[SCAN_DELETE]=1;
keys_active++;
break;
case MAKE_F11:
key_table[SCAN_F11]=1;
keys_active++;
break;
case MAKE_F12:
key_table[SCAN_F12]=1;
keys_active++;
break;
case BREAK_ESC:
key_table[SCAN_ESC]=0;
keys_active--;
break;
case BREAK_1:
key_table[SCAN_1]=0;
keys_active--;
break;
case BREAK_2:
key_table[SCAN_2]=0;
keys_active--;
break;
case BREAK_3:
key_table[SCAN_3]=0;
keys_active--;
break;
case BREAK_4:
key_table[SCAN_4]=0;
keys_active--;
break;
case BREAK_5:
key_table[SCAN_5]=0;
keys_active--;
break;
case BREAK_6:
key_table[SCAN_6]=0;
keys_active--;
break;
case BREAK_7:
key_table[SCAN_7]=0;
keys_active--;
break;
case BREAK_8:
key_table[SCAN_8]=0;
keys_active--;
break;
case BREAK_9:
key_table[SCAN_9]=0;
keys_active--;
break;
case BREAK_0:
key_table[SCAN_0]=0;
keys_active--;
break;
case BREAK_MINUS:
key_table[SCAN_MINUS]=0;
keys_active--;
break;
case BREAK_EQUAL:
key_table[SCAN_EQUAL]=0;
keys_active--;
break;
case BREAK_BKSP:
key_table[SCAN_BKSP]=0;
keys_active--;
break;
case BREAK_TAB:
key_table[SCAN_TAB]=0;
keys_active--;
break;
case BREAK_Q:
key_table[SCAN_Q]=0;
keys_active--;
break;
case BREAK_W:
key_table[SCAN_W]=0;
keys_active--;
break;
case BREAK_E:
key_table[SCAN_E]=0;
keys_active--;
break;
case BREAK_R:
key_table[SCAN_R]=0;
keys_active--;
break;
case BREAK_T:
key_table[SCAN_T]=0;
keys_active--;
break;
case BREAK_Y:
key_table[SCAN_Y]=0;
keys_active--;
break;
case BREAK_U:
key_table[SCAN_U]=0;
keys_active--;
break;
case BREAK_I:
key_table[SCAN_I]=0;
keys_active--;
break;
case BREAK_O:
key_table[SCAN_O]=0;
keys_active--;
break;
case BREAK_P:
key_table[SCAN_P]=0;
keys_active--;
break;
case BREAK_LSB:
key_table[SCAN_LSB]=0;
keys_active--;
break;
case BREAK_RSB:
key_table[SCAN_RSB]=0;
keys_active--;
break;
case BREAK_ENTER:
key_table[SCAN_ENTER]=0;
keys_active--;
break;
case BREAK_CTRL:
key_table[SCAN_CTRL]=0;
keys_active--;
break;
case BREAK_A:
key_table[SCAN_A]=0;
keys_active--;
break;
case BREAK_S:
key_table[SCAN_S]=0;
keys_active--;
break;
case BREAK_D:
key_table[SCAN_D]=0;
keys_active--;
break;
case BREAK_F:
key_table[SCAN_F]=0;
keys_active--;
break;
case BREAK_G:
key_table[SCAN_G]=0;
keys_active--;
break;
case BREAK_H:
key_table[SCAN_H]=0;
keys_active--;
break;
case BREAK_J:
key_table[SCAN_J]=0;
keys_active--;
break;
case BREAK_K:
key_table[SCAN_K]=0;
keys_active--;
break;
case BREAK_L:
key_table[SCAN_L]=0;
keys_active--;
break;
case BREAK_SEMICOLON:
key_table[SCAN_SEMICOLON]=0;
keys_active--;
break;
case BREAK_APOS:
key_table[SCAN_APOS]=0;
keys_active--;
break;
case BREAK_TILDE:
key_table[SCAN_TILDE]=0;
keys_active--;
break;
case BREAK_LEFTSHFT:
key_table[SCAN_LEFTSHFT]=0;
keys_active--;
break;
case BREAK_BACKSLASH:
key_table[SCAN_BACKSLASH]=0;
keys_active--;
break;
case BREAK_Z:
key_table[SCAN_Z]=0;
keys_active--;
break;
case BREAK_X:
key_table[SCAN_X]=0;
keys_active--;
break;
case BREAK_C:
key_table[SCAN_C]=0;
keys_active--;
break;
case BREAK_V:
key_table[SCAN_V]=0;
keys_active--;
break;
case BREAK_B:
key_table[SCAN_B]=0;
keys_active--;
break;
case BREAK_N:
key_table[SCAN_N]=0;
keys_active--;
break;
case BREAK_M:
key_table[SCAN_M]=0;
keys_active--;
break;
case BREAK_COMMA:
key_table[SCAN_COMMA]=0;
keys_active--;
break;
case BREAK_PERIOD:
key_table[SCAN_PERIOD]=0;
keys_active--;
break;
case BREAK_SLASH:
key_table[SCAN_SLASH]=0;
keys_active--;
break;
case BREAK_RIGHTSHFT:
key_table[SCAN_RIGHTSHFT]=0;
keys_active--;
break;
case BREAK_PRINTSCRN:
key_table[SCAN_PRINTSCRN]=0;
keys_active--;
break;
case BREAK_ALT:
key_table[SCAN_ALT]=0;
keys_active--;
break;
case BREAK_SPACE:
key_table[SCAN_SPACE]=0;
keys_active--;
break;
case BREAK_CAPLOCK:
key_table[SCAN_CAPLOCK]=0;
keys_active--;
break;
case BREAK_F1:
key_table[SCAN_F1]=0;
keys_active--;
break;
case BREAK_F2:
key_table[SCAN_F2]=0;
keys_active--;
break;
case BREAK_F3:
key_table[SCAN_F3]=0;
keys_active--;
break;
case BREAK_F4:
key_table[SCAN_F4]=0;
keys_active--;
break;
case BREAK_F5:
key_table[SCAN_F5]=0;
keys_active--;
break;
case BREAK_F6:
key_table[SCAN_F6]=0;
keys_active--;
break;
case BREAK_F7:
key_table[SCAN_F7]=0;
keys_active--;
break;
case BREAK_F8:
key_table[SCAN_F8]=0;
keys_active--;
break;
case BREAK_F9:
key_table[SCAN_F9]=0;
keys_active--;
break;
case BREAK_F10:
key_table[SCAN_F10]=0;
keys_active--;
break;
case BREAK_NUMLOCK:
key_table[SCAN_NUMLOCK]=0;
keys_active--;
break;
case BREAK_SCROLLOCK:
key_table[SCAN_SCROLLOCK]=0;
keys_active--;
break;
case BREAK_HOME:
key_table[SCAN_HOME]=0;
keys_active--;
break;
case BREAK_UP:
key_table[SCAN_UP]=0;
keys_active--;
break;
case BREAK_PGUP:
key_table[SCAN_PGUP]=0;
keys_active--;
break;
case BREAK_KEYPADMINUS:
key_table[SCAN_KEYPADMINUS]=0;
keys_active--;
break;
case BREAK_LEFT:
key_table[SCAN_LEFT]=0;
keys_active--;
break;
case BREAK_CENTER:
key_table[SCAN_CENTER]=0;
keys_active--;
break;
case BREAK_RIGHT:
key_table[SCAN_RIGHT]=0;
keys_active--;
break;
case BREAK_KEYPADPLUS:
key_table[SCAN_KEYPADPLUS]=0;
keys_active--;
break;
case BREAK_END:
key_table[SCAN_END]=0;
keys_active--;
break;
case BREAK_DOWN:
key_table[SCAN_DOWN]=0;
keys_active--;
break;
case BREAK_PGDOWN:
key_table[SCAN_PGDOWN]=0;
keys_active--;
break;
case BREAK_INSERT:
key_table[SCAN_INSERT]=0;
keys_active--;
break;
case BREAK_DELETE:
key_table[SCAN_DELETE]=0;
keys_active--;
break;
case BREAK_F11:
key_table[SCAN_F11]=0;
keys_active--;
break;
case BREAK_F12:
key_table[SCAN_F12]=0;
keys_active--;
break;
default:
break;
}
}
KEYBOARDCLASS::KEYBOARDCLASS(void)
{
InitKeyBoard();
}
KEYBOARDCLASS::~KEYBOARDCLASS(void)
{
RestoreKeyBoard();
}
void KEYBOARDCLASS::ClearKeys(void)
{
memset(key_table,0,128); // To clear all pending key presses.
keys_active=0;
}
int KEYBOARDCLASS::Is_Key(const short key)
{
int result;
switch (key)
{
case SCAN_ANY:
if (keys_active)
result = TRUE;
else
result = FALSE;
break;
case SCAN_ESC:
if (key_table[SCAN_ESC])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F1:
if (key_table[SCAN_F1])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F2:
if (key_table[SCAN_F2])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F3:
if (key_table[SCAN_F3])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F4:
if (key_table[SCAN_F4])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F5:
if (key_table[SCAN_F5])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F6:
if (key_table[SCAN_F6])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F7:
if (key_table[SCAN_F7])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F8:
if (key_table[SCAN_F8])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F9:
if (key_table[SCAN_F9])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F10:
if (key_table[SCAN_F10])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F11:
if (key_table[SCAN_F11])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F12:
if (key_table[SCAN_F12])
result = TRUE;
else
result = FALSE;
break;
case SCAN_1:
if (key_table[SCAN_1])
result = TRUE;
else
result = FALSE;
break;
case SCAN_2:
if (key_table[SCAN_2])
result = TRUE;
else
result = FALSE;
break;
case SCAN_3:
if (key_table[SCAN_3])
result = TRUE;
else
result = FALSE;
break;
case SCAN_4:
if (key_table[SCAN_4])
result = TRUE;
else
result = FALSE;
break;
case SCAN_5:
if (key_table[SCAN_5])
result = TRUE;
else
result = FALSE;
break;
case SCAN_6:
if (key_table[SCAN_6])
result = TRUE;
else
result = FALSE;
break;
case SCAN_7:
if (key_table[SCAN_7])
result = TRUE;
else
result = FALSE;
break;
case SCAN_8:
if (key_table[SCAN_8])
result = TRUE;
else
result = FALSE;
break;
case SCAN_9:
if (key_table[SCAN_9])
result = TRUE;
else
result = FALSE;
break;
case SCAN_0:
if (key_table[SCAN_0])
result = TRUE;
else
result = FALSE;
break;
case SCAN_MINUS:
if (key_table[SCAN_MINUS])
result = TRUE;
else
result = FALSE;
break;
case SCAN_EQUAL:
if (key_table[SCAN_EQUAL])
result = TRUE;
else
result = FALSE;
break;
case SCAN_BKSP:
if (key_table[SCAN_BKSP])
result = TRUE;
else
result = FALSE;
break;
case SCAN_Q:
if (key_table[SCAN_Q])
result = TRUE;
else
result = FALSE;
break;
case SCAN_W:
if (key_table[SCAN_W])
result = TRUE;
else
result = FALSE;
break;
case SCAN_E:
if (key_table[SCAN_E])
result = TRUE;
else
result = FALSE;
break;
case SCAN_R:
if (key_table[SCAN_R])
result = TRUE;
else
result = FALSE;
break;
case SCAN_T:
if (key_table[SCAN_T])
result = TRUE;
else
result = FALSE;
break;
case SCAN_Y:
if (key_table[SCAN_Y])
result = TRUE;
else
result = FALSE;
break;
case SCAN_U:
if (key_table[SCAN_U])
result = TRUE;
else
result = FALSE;
break;
case SCAN_I:
if (key_table[SCAN_I])
result = TRUE;
else
result = FALSE;
break;
case SCAN_O:
if (key_table[SCAN_O])
result = TRUE;
else
result = FALSE;
break;
case SCAN_P:
if (key_table[SCAN_P])
result = TRUE;
else
result = FALSE;
break;
case SCAN_LSB:
if (key_table[SCAN_LSB])
result = TRUE;
else
result = FALSE;
break;
case SCAN_RSB:
if (key_table[SCAN_RSB])
result = TRUE;
else
result = FALSE;
break;
case SCAN_ENTER:
if (key_table[SCAN_ENTER])
result = TRUE;
else
result = FALSE;
break;
case SCAN_A:
if (key_table[SCAN_A])
result = TRUE;
else
result = FALSE;
break;
case SCAN_S:
if (key_table[SCAN_S])
result = TRUE;
else
result = FALSE;
break;
case SCAN_D:
if (key_table[SCAN_D])
result = TRUE;
else
result = FALSE;
break;
case SCAN_F:
if (key_table[SCAN_F])
result = TRUE;
else
result = FALSE;
break;
case SCAN_G:
if (key_table[SCAN_G])
result = TRUE;
else
result = FALSE;
break;
case SCAN_H:
if (key_table[SCAN_H])
result = TRUE;
else
result = FALSE;
break;
case SCAN_J:
if (key_table[SCAN_J])
result = TRUE;
else
result = FALSE;
break;
case SCAN_K:
if (key_table[SCAN_K])
result = TRUE;
else
result = FALSE;
break;
case SCAN_L:
if (key_table[SCAN_L])
result = TRUE;
else
result = FALSE;
break;
case SCAN_SEMICOLON:
if (key_table[SCAN_SEMICOLON])
result = TRUE;
else
result = FALSE;
break;
case SCAN_APOS:
if (key_table[SCAN_APOS])
result = TRUE;
else
result = FALSE;
break;
case SCAN_Z:
if (key_table[SCAN_Z])
result = TRUE;
else
result = FALSE;
break;
case SCAN_X:
if (key_table[SCAN_X])
result = TRUE;
else
result = FALSE;
break;
case SCAN_C:
if (key_table[SCAN_C])
result = TRUE;
else
result = FALSE;
break;
case SCAN_V:
if (key_table[SCAN_V])
result = TRUE;
else
result = FALSE;
break;
case SCAN_B:
if (key_table[SCAN_B])
result = TRUE;
else
result = FALSE;
break;
case SCAN_N:
if (key_table[SCAN_N])
result = TRUE;
else
result = FALSE;
break;
case SCAN_M:
if (key_table[SCAN_M])
result = TRUE;
else
result = FALSE;
break;
case SCAN_COMMA:
if (key_table[SCAN_COMMA])
result = TRUE;
else
result = FALSE;
break;
case SCAN_PERIOD:
if (key_table[SCAN_PERIOD])
result = TRUE;
else
result = FALSE;
break;
case SCAN_SLASH:
if (key_table[SCAN_SLASH])
result = TRUE;
else
result = FALSE;
break;
case SCAN_INSERT:
if (key_table[SCAN_INSERT])
result = TRUE;
else
result = FALSE;
break;
case SCAN_DELETE:
if (key_table[SCAN_DELETE])
result = TRUE;
else
result = FALSE;
break;
case SCAN_HOME:
if (key_table[SCAN_HOME])
result = TRUE;
else
result = FALSE;
break;
case SCAN_END:
if (key_table[SCAN_END])
result = TRUE;
else
result = FALSE;
break;
case SCAN_PGUP:
if (key_table[SCAN_PGUP])
result = TRUE;
else
result = FALSE;
break;
case SCAN_PGDOWN:
if (key_table[SCAN_PGDOWN])
result = TRUE;
else
result = FALSE;
break;
case SCAN_RIGHT:
if (key_table[SCAN_RIGHT])
result = TRUE;
else
result = FALSE;
break;
case SCAN_LEFT:
if (key_table[SCAN_LEFT])
result = TRUE;
else
result = FALSE;
break;
case SCAN_UP:
if (key_table[SCAN_UP])
result = TRUE;
else
result = FALSE;
break;
case SCAN_DOWN:
if (key_table[SCAN_DOWN])
result = TRUE;
else
result = FALSE;
break;
default:
result = FALSE;
break;
}
return (result);
}
INPUTCLASS::INPUTCLASS(void) // constructor.
{
}
INPUTCLASS::~INPUTCLASS(void) // destructor.
{
}